﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;

/// <summary>
/// Summary description for PaginaPerfil
/// </summary>
public class PaginaPerfil
{
    private string nombrePagina;
    private string RolPaginas_nombreRol;

    public PaginaPerfil(string nombrePagina, string RolPaginas_nombreRol)
    {
        this.nombrePagina = nombrePagina;
        this.RolPaginas_nombreRol = RolPaginas_nombreRol;
    }

    public PaginaPerfil()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    public string ObtRolDePagina()
    {
        return RolPaginas_nombreRol;
    }

    public string ObtNombrePagina()
    {
        return nombrePagina;
    }

    public string ActualizarPagina(string nuevoNombre)
    {
        if (ExistePagina())
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string campoValor = "nombrePagina=" + "'" + nuevoNombre + "'";
            string condicion = "nombrePagina=" + "'" + nombrePagina + "'";
            string actualizar = bd.Actualizar("PaginaPerfil", campoValor, condicion);
            bd.CerrarConexion();
            return actualizar;
        }
        return "No existe la Pagina.";
    }

    public string EliminarPagina()
    {
        if (ExistePagina())
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string condicion = "nombrePagina=" + "'" + nombrePagina + "'";
            string eliminar = bd.Eliminar("PaginaPerfil", condicion);
            bd.CerrarConexion();
            return eliminar;
        }
        return "No existe la Pagina.";
    }

    public List<PaginaPerfil> ObtPaginasDePerfil()
    {
        BD bd = new BD();
        bd.AbrirConexion();
        DataTable dt = bd.Consultar("select * from PaginaPerfil");
        bd.CerrarConexion();

        List<PaginaPerfil> listcar = new List<PaginaPerfil>();
        int cont = 0;
        foreach (DataRow dr in dt.Rows)
        {
            PaginaPerfil car = new PaginaPerfil(dt.Rows[cont]["nombrePagina"].ToString(), dt.Rows[cont]["RolPaginas_nombreRol"].ToString());
            cont++;
            listcar.Add(car);
        }
        return listcar;
    }

    public bool ExistePagina()
    {
        if (nombrePagina != "")
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string consulta = "select nombrePagina from PaginaPerfil where nombrePagina=" + "'" + nombrePagina + "'";
            DataTable dt = bd.Consultar(consulta);
            bd.CerrarConexion();
            if (dt.Rows.Count != 0)
                return true;
        }
        return false;
    }

    public string GuardarPagina()
    {
        if (!ExistePagina())
        {
            BD bd = new BD();
            string campos = "(nombrePagina,RolPaginas_nombreRol)";
            string valores = "('" + nombrePagina + "','" + RolPaginas_nombreRol + "')";
            bd.AbrirConexion();
            string insert = bd.Insertar("PaginaPerfil", campos, valores);
            bd.CerrarConexion();
            return insert;
        }
        return "ya existe la Pagina";
    }
}